Prerequisites
Have completed courses that present the essential concepts of 1) computed architectures and 2) programming in C.
Objectives
Program at the system level using all operating systems functionalities taking into account both the sequential and concurrent programming models. Learn the fundamental concepts underlying operating systems, with emphasis on the mechanisms and algorithms used, as well as the internal structure of most relevant operating systems.
Program
Programming with processes, threads and files. Concurrent programming on shared memory. Inter-process communication. Organization and evolution of operating systems. The kernel of a multitasking operating system. Dispatch and scheduling. Virtual memory and algorithms for virtual memory management. File systems.
Evaluation Methodology
Determined by 2 components: theory (50%) e laboratory (50%). The theory component consists of 2 tests. Possibility of repeating each test.
Cross-Competence Component
The laboratory component includes different measures to promote the development of soft skills related to innovative and critical thinking, as well as intra and inter-personal skills.
Laboratorial Component
Project that is progressively developed in 2 exercises. After the code of the project is graded, an individual practical test and a discussion determine the final grade that is assigned to each student.
Programming and Computing Component
In the course where this UC is offered the Computing and Programming components are assured according to MEPP 2122.
More information at: https://fenix.tecnico.ulisboa.pt/cursos/lerc/disciplina-curricular/845953938490011